package com.hzjy.manage.service.impl;

import com.hzjy.manage.mapper.AuditRecordMapper;
import com.hzjy.manage.mapper.HzjyProductMapper;
import com.hzjy.manage.vo.HzjyProduct;
import com.hzjy.manage.vo.AuditRecord;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.Date;
import java.util.List;

@Service
public class AuditDataFinalServiceImpl {
    @Autowired
    private HzjyProductMapper hzjyProductMapper;
    @Autowired
    private AuditRecordMapper auditRecordMapper;
    /**
     * 获取待初审的集合
     * @param hzjyProduct
     * @return
     */
    public List<HzjyProduct> selectlist(HzjyProduct hzjyProduct){
        return hzjyProductMapper.selectHzjyProductList(hzjyProduct);
    }

    /**
     * 获取详情
     * @param worksId
     * @return
     */
    public HzjyProduct selectById(Long productId){
        return hzjyProductMapper.selectHzjyProductById(productId);
    }

    /**
     * 通过
     * @param auditRecord
     */
    public void agreeAuditData(AuditRecord auditRecord){
        //插入审核记录
        auditRecord.setCreateTime(new Date());
        auditRecord.setEndState(4); //终审通过状态修改为4
        auditRecord.setType(1);  //通过
        auditRecordMapper.insertAuditRecord(auditRecord);
        //更新状态
        HzjyProduct hzjyProduct=new HzjyProduct();
        hzjyProduct.setAuditRecordId(auditRecord.getAuditId());
        hzjyProduct.setProductId(auditRecord.getProductId());
        hzjyProduct.setState(4); //终审通过状态为3
        hzjyProductMapper.updateHzjyProduct(hzjyProduct);
    }

    /**
     * 驳回
     */
    public void refuseAuditData(AuditRecord auditRecord){
        //新增审核记录
        auditRecord.setCreateTime(new Date());
        auditRecord.setEndState(1);  //驳回为待修改状态1,
        auditRecord.setType(0); //驳回
        auditRecordMapper.insertAuditRecord(auditRecord);
        //修改记录
        HzjyProduct hzjyProduct=new HzjyProduct();
        hzjyProduct.setAuditRecordId(auditRecord.getAuditId());
        hzjyProduct.setProductId(auditRecord.getProductId());
        hzjyProduct.setState(1); //驳回状态为1
        //更新作品的状态
        hzjyProductMapper.updateHzjyProduct(hzjyProduct);
    }
}
